Dynamically Adaptive Parallel Programs

نویسندگان

  • Michael Voss
  • Rudolf Eigenmann
چکیده

Dynamic program optimization is the only recourse for optimizing compilers when machine and program parameters necessary for applying an optimization technique are unknown until runtime. With the movement toward portable parallel programs, facilitated by language standards such as OpenMP, many of the optimizations developed for high-performance machines can no longer be applied prior to runtime without potential performance degradation. As an alternative, we propose dynamically adaptive programs, programs that adapt themselves to their runtime environment. We discuss the key issues in successfully applying this approach and show examples of its application. Experimental results are given for dynamically adaptive programs that seek to eliminate redundant runtime data dependence tests, to select the optimal tile size for tiled loops and to serialize loops that do not profit from parallelism.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Mechanisms for Just-in-Time Allocation of Resources to Adaptive Parallel Programs

Adaptive parallel computations—computations that can adapt to changes in resource availability and requirement— can effectively use networked machines because they dynamically expand as machines become available and dynamically acquire machines as needed. While most parallel programming systems provide the means to develop adaptive programs, they do not provide any functional interface to exter...

متن کامل

Adaptive Parallelism on Multiprocessors: Preliminary Experience with Piranha on the CM-5

Mechanisms for sharing multiprocessors among users are still in their infancy|typical approaches include simple space-sharing and ineecient, restricted forms of time-sharing. In this work we investigate a new alternative: adaptive parallelism 2]. Adaptively parallel programs can execute over a dynamically changing set of processors; many such codes can easily and dynamically share a multiproces...

متن کامل

Adaptive Operating System Abstractions: a Case Study of Multiprocessor Locks

Operating system kernels typically ooer a xed and limited set of primitives and underlying mechanisms for use by application programs. However, the attainment of high performance for a variety of parallel applications may require the availability of additional primitives or of variants of existing primitives best suited for speciic applications. Furthermore, operating system mechanisms must als...

متن کامل

Adaptive and Reliable Parallel Computing on Networks of Workstations

In this paper, we present the design of Cilk-NOW, a runtime system that adaptively and reliably executes functional Cilk programs in parallel on a network of UNIX workstations. Cilk (pronounced “silk”) is a parallel multithreaded extension of the C language, and all Cilk runtime systems employ a provably efficient threadscheduling algorithm. Cilk-NOW is such a runtime system, and in addition, C...

متن کامل

Executing multithreaded programs efficiently

This thesis presents the theory, design, and implementation of Cilk (pronounced “silk”) and Cilk-NOW. Cilk is a C-based language and portable runtime system for programming and executing multithreaded parallel programs. Cilk-NOW is an implementation of the Cilk runtime system that transparently manages resources for parallel programs running on a network of workstations. Cilk is built around a ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999